PCA Regime-Adjusted MomentumSummary
The PCA Regime-Adjusted Momentum (PCA-RAM) is an advanced market analysis tool designed to provide nuanced insights into market momentum and structural stability. It moves beyond traditional indicators by using Principal Component Analysis (PCA) to deconstruct market data into its most essential patterns.
The indicator provides two key pieces of information:
A smoothed momentum signal based on the market's dominant underlying trend.
A dynamic regime filter that gauges the stability and clarity of the market's structure, advising you when to trust or fade the momentum signals.
This allows traders to not only identify potential shifts in momentum but also to understand the context and confidence behind those signals.
Core Concepts & Methodology
The strength of this indicator lies in its sound, data-driven methodology.
1. Principal Component Analysis (PCA)
At its core, the indicator analyzes a rolling window (default 50 periods) of standardized market data (Open, High, Low, Close, and Volume). PCA is a powerful statistical technique that distills this complex, 5-dimensional data into its fundamental, uncorrelated components of variance. We focus on the First Principal Component (PC1), which represents the single most dominant pattern or "theme" driving the market's behavior in the lookback window.
2. The Momentum Signal
Instead of just looking at price, we project the current market data onto this dominant underlying pattern (PC1). This gives us a raw "projection score" that measures how strongly the current bar aligns with the historically dominant market structure. This raw score is then smoothed using two an exponential moving averages (a fast and a slow line) to create a clear, actionable momentum signal, similar in concept to a MACD.
3. The Dynamic Regime Filter
This is arguably the indicator's most powerful feature. It answers the question: "How clear is the current market picture?"
It calculates the Market Concentration Ratio, which is the percentage of total market variance explained by PC1 alone.
A high ratio indicates that the market is moving in a simple, one-dimensional way (e.g., a clear, strong trend).
A low ratio indicates the market is complex, multi-dimensional, and choppy, with no single dominant theme.
Crucially, this filter is dynamic. It compares the current concentration ratio to its own recent average, allowing it to adapt to any asset or timeframe. It automatically learns what "normal" and "choppy" look like for the specific chart you are viewing.
How to Interpret the Indicator
The indicator is displayed in a separate pane with two key visual elements:
The Momentum Lines (White & Gold)
White Line: The "Fast Line," representing the current momentum.
Gold Line: The "Slow Line," acting as the trend confirmation.
Bullish Signal: A crossover of the White Line above the Gold Line suggests a shift to positive momentum.
Bearish Signal: A crossover of the White Line below the Gold Line suggests a shift to negative momentum.
The Regime Filter (Purple & Dark Red Background)
This is your confidence gauge.
Navy Blue Background (High Concentration): The market structure is stable, simple, and trending. Momentum signals are more reliable and should be given higher priority.
Dark Red Background (Low Concentration): The market structure is complex, choppy, or directionless. Momentum signals are unreliable and prone to failure or "whipsaws." This is a signal to be cautious, tighten stops, or potentially stay out of the market.
Potential Trading Strategies
This tool is versatile and can be used in several ways:
1. Primary Signal Strategy
Condition: Wait for the background to turn Purple, confirming a stable, high-confidence regime.
Entry: Take the next crossover signal from the momentum lines (White over Gold for long, White under Gold for short).
Exit/Filter: Consider exiting positions or ignoring new signals when the background turns Navy.
2. As a Confirmation or Filter for Your Existing Strategy
Do you have a trend-following system? Only enable its long and short signals when the PCA-RAM background is Purple.
Do you have a range-trading or mean-reversion system? It might be most effective when the PCA-RAM background is Navy, indicating a lack of a clear trend.
3. Advanced Divergence Analysis
Look for classic divergences between price and the momentum lines. For example, if the price is making a new high, but the Gold Line is making a lower high, it may indicate underlying weakness in the trend, even on a Purple background. This divergence signal is more powerful because it shows that the new price high is not being confirmed by the market's dominant underlying pattern.
在腳本中搜尋"high low"
GCM Centre Line Candle MarkerGCM Centre Line Candle Marker (GCM-CLCM) - Descriptive Notes
Indicator Overview:
The "GCM Centre Line Candle Marker" is a versatile TradingView overlay indicator designed to enhance chart analysis by drawing short horizontal lines at user-defined "centre" points of candles. These lines provide a quick visual reference to key price levels within each candle, such as midpoints, open, close, or typical prices. The indicator offers extensive customization for line appearance, positioning, and conditional display, including an option to highlight only bullish engulfing patterns.
Key Features:
1. Customizable Line Position:
o Users can choose from various methods to calculate the "centre" price for the line:
(High + Low) / 2 (Default)
(Open + Close) / 2
Close
Open
(Open + High + Low + Close) / 4 (HLCO/4)
(Open + High + Close) / 3 (Typical Price HLC/3 variation)
(Open + Close + Low) / 3 (Typical Price OCL/3 variation)
2. Line Appearance Customization:
o Visibility: Toggle lines on/off.
o Style: Solid, dotted, or dashed lines.
o Width: Adjustable line thickness (1 to 5).
o Length: Defines how many candles forward the line extends (1 to 10).
o Color: Lines are colored based on candle type (bullish/bearish), with user-selectable base colors.
o Dynamic Opacity: Line opacity is dynamically adjusted based on the candle's size relative to recent candles. Larger candles produce more opaque lines (up to the user-defined maximum opacity), while smaller candles result in more transparent lines. This helps significant candles stand out.
3. Price Labels:
o Show Labels: Option to display price labels at the end of each center line.
o Label Background Color: Customizable.
o Dynamic Text Color: Label text color can change based on the movement of the center price:
Green: Current center price is higher than the previous.
Red: Current center price is lower than the previous.
Gray: No change or first label.
o Static Text Color: Alternatively, a fixed color can be used for all labels.
4. Conditional Drawing - Bullish Engulfing Filter:
o Users can enable an option to Only Show Bullish Engulfing Candles. When active, center lines will only be drawn for candles that meet bullish engulfing criteria (current bull candle's body engulfs the previous bear candle's body).
5. Performance Management:
o Max Lines to Show: Limits the number of historical lines displayed on the chart to maintain clarity and performance. Older lines are automatically removed as new ones are drawn.
6. Alert Condition:
o Includes a built-in alert: Big Bullish Candle. This alert triggers when a bullish candle's range (high - low) is greater than the 20-period simple moving average (SMA) of candle ranges.
How It Works:
• For each new candle, the script calculates the "center" price based on the user's Line Position selection.
• If showLines is enabled and (if applicable) the bullish engulfing condition is met, a new line is drawn from the current candle's bar_index at the calculated _center price, extending lineLength candles forward.
• The line's color is determined by whether the candle is bullish (close > open) or bearish (close < open).
• Opacity is calculated dynamically: scaledOpacity = int((100 - maxUserOpacity) * (1 - dynamicFactor) + maxUserOpacity), where dynamicFactor is candleSize / maxSize (current candle size relative to the max size in the last 20 candles). This means maxUserOpacity is the least transparent the line will be (for the largest candles), and smaller candles will have lines approaching full transparency.
• Optional price labels are added at the end of these lines.
• The script manages an array of drawn lines, removing the oldest ones if the maxLines limit is exceeded.
Potential Use Cases:
• Visualizing Intra-Candle Levels: Quickly see midpoints or other key price points without manual drawing.
• Short-Term Reference Points: The extended lines can act as very short-term dynamic support/resistance or points of interest.
• Pattern Recognition: Highlight bullish engulfing patterns or simply emphasize candles based on their calculated center.
• Volatility Indication: The dynamic opacity can subtly indicate periods of larger or smaller candle ranges.
• Confirmation Tool: Use in conjunction with other indicators or trading strategies.
User Input Groups:
• Line Settings: Controls all aspects of the line's appearance and calculation.
• Label Settings: Manages the display and appearance of price labels.
• Other Settings: Contains options for line management and conditional filtering (like Bullish Engulfing).
This indicator provides a clean and customizable way to mark significant price levels within candles, aiding traders in their technical analysis.
Custom Session Tracker (KN)**Custom Session Tracker (KN)**
Visually highlight any intraday session’s high, low, and midpoint on your chart with full styling control.
**Description**
Custom Session Tracker (KN) lets you define any trading session (e.g. 09:30–16:00 NY time) and automatically draws:
* A translucent box spanning the session’s High and Low
* A horizontal line marking the session midpoint
All elements update in real time and persist after session close.
**Features**
* **Session Range Box**: Plots from session open through close
* **Mid-Price Line**: Marks the exact midpoint of High/Low
* **Timezone Input**: Aligns session to any GMT offset
* **Custom Colors**: Fill, border, and mid-line colors
* **Line & Border Styles**: Choose solid or dashed
**Inputs**
* **Timezone** – GMT offset for your market
* **Session** – Hours in `HHMM-HHMM` format
* **Fill Color** – Box interior transparency
* **Border Color** – Box outline
* **Box Border Style** – Solid or dashed
* **Midline Color** – Mid-price line color
* **Mid Price Line Style** – Solid or dashed
**How to Use**
1. Add the script to your chart.
2. Set your session hours and timezone.
3. Customize colors and styles.
4. Watch each session’s high, low, and midpoint appear automatically.
Perfect for session-overlap strategies, mean-reversion signals, or simply keeping key levels in view.
Trend Table ZeeZeeMonMulti-Timeframe Trend Indicator
Overview
This indicator identifies trends across multiple higher timeframes and displays them in a widget on the right side of the chart. It serves as an alternative trend-filtering tool, helping traders align with the dominant market direction. Unlike traditional moving average-based trend detection (e.g., price above/below a 200 MA), this indicator assesses whether higher timeframes are genuinely trending by analyzing swing highs and lows.
Trend Definition
Uptrend: Higher highs and higher lows.
Downtrend: Lower highs and lower lows.
A trend reversal occurs when a prior high/low is breached (e.g., in a downtrend, breaking the last high signals an uptrend).
Customization Options
Lookback Period: Adjusts the sensitivity for identifying swing highs/lows (pivot points). A shorter lookback detects more frequent pivots.
Historical Pivot Visibility: Toggle to display past swing highs/lows for verification.
Support/Resistance Lines: Show dynamic levels from recent pivots on higher timeframes. Breaching these lines indicates potential trend changes.
Purpose
Helps traders:
Confirm higher timeframe trends before entering trades.
Monitor proximity to trend reversals.
Fine-tune pivot sensitivity for optimal trend detection.
Note: Works best as a supplementary trend filter alongside other trading strategies.
SMCFunctionsLibrary "SMCFunctions"
findSwingPoints(high, low, swing_size)
Parameters:
high (float)
low (float)
swing_size (int)
detectBOS(close, high, low, prevHigh, prevLow, highActive, lowActive, bos_conf_type)
Parameters:
close (float)
high (float)
low (float)
prevHigh (float)
prevLow (float)
highActive (bool)
lowActive (bool)
bos_conf_type (string)
getBOSDetails(highBroken, lowBroken, prevHigh, prevLow, prevSwing, prevHighIndex, prevLowIndex, input_show_choch)
Parameters:
highBroken (bool)
lowBroken (bool)
prevHigh (float)
prevLow (float)
prevSwing (int)
prevHighIndex (int)
prevLowIndex (int)
input_show_choch (bool)
calculateRetracementLevels(start_price, end_price)
Parameters:
start_price (float)
end_price (float)
Color Coded Volume IndicatorColor Coded Volume Indicator
Overview
Splits each bar’s total volume into estimated buy-side vs. sell-side components and displays them as stacked two-tone columns (red = sell, green = buy). Axis labels and tooltips use “K”/“M” formatting.
Features
Stacked Two-Tone Columns
Red Base : estimated sell volume (50% opacity)
Green Top : remaining buy volume (50% opacity)
Automatic K/M Formatting via format=format.volume
Zero Baseline for clean reference at zero
Positive-Only Bars (no negatives)
How It Works
True-Range Guard
Skips bars where high == low to avoid divide-by-zero.
Volume Split
BuyVol = Volume × (Close − Low) / (High − Low)
SellVol = Volume × (High − Close) / (High − Low)
Both series clamped ≥ 0.
Layered Plot
Draw semi-transparent green at full height, then overlay red sell portion.
Usage
Open TradingView’s Pine Editor
Paste in the full script
Click “Save & Add to Chart”
In the Publish dialog, title it “Color Coded Volume Indicator” and paste this description.
Interpretation
Green-dominant bars → strong buying pressure
Red-dominant bars → strong selling pressure
Equal halves → balanced activity
Opening Range Breakout Cloud Indicator by TenAMTraderOpening Range Breakout Cloud Indicator – by TenAMTrader
This indicator visually maps out the Opening Range of the trading day — the price high and low between a configurable start and end time (default: 9:30 AM–10:00 AM EST). It helps traders identify breakout levels, key intraday zones, and price behavior relative to the early range.
🔹 What It Shows:
Opening High, Low, and Midpoint lines for each day.
Clouds between the midpoint and high/low for visual clarity.
Optional Second Range (e.g., 9:30–9:45 AM) for more aggressive early signals.
Historical Ranges are preserved, allowing you to view previous days' levels on the chart.
Custom Alerts when price crosses the Opening High, Low, or Midpoint.
Full customization: colors, range times, and display toggles.
🔔 Use It For:
Spotting breakouts or rejections at key levels.
Finding early support/resistance zones.
Planning trades using intraday structure.
⚠️ Use this tool as part of a broader trading strategy. No indicator guarantees results — always trade at your own discretion.
Higher Timeframe TrendMap [BigBeluga]🔵HTF TrendMap
A powerful visual overlay that brings higher timeframe market structure directly onto your intraday chart.
This tool maps directional bias, trend strength, and dynamic range boundaries from a user-selected HTF (like Daily or 4H), offering a real-time confluence layer for scalpers, day traders, and swing traders.
By plotting the evolving average (HL2), it acts as a volatility-weighted trend anchor, allowing you to align lower timeframe entries with higher timeframe intent.
Technical Overview:
At the close of each higher timeframe (HTF) candle, the indicator stores the high, low, and calculates the HL2 midpoint. These values are then referenced on the lower timeframe chart to plot trend direction and price boundaries.
🔵 KEY FEATURES
Maps the selected higher timeframe (HTF) (e.g., Daily) onto your current chart.
At the close of each HTF candle , it starts to calculate and store the highest, lowest, and average (HL2) price levels .
The average (HL2) value is treated as the HTF trend baseline —plotted in orange for uptrend , blue for downtrend .
Visual curve thickens and fades to show progress through the HTF period (stronger color = fresher data).
Horizontal dashed lines show HTF high and low levels that persist until the next period closes.
On every HTF close, two price labels are printed for the high and low levels.
Vertical separators visually mark the start of each HTF candle for easy structural recognition.
A real-time dashboard shows selected HTF, current trend direction (🢁/🢃), and updates dynamically.
🔵 HOW TO USE
Use the HTF average line as a bias filter —only long when the trend is up (orange), short when down (blue).
HTF high/low labels help identify key breakout or rejection zones .
Combine with intraday systems or reversal tools for multi-timeframe confluence setups .
Ideal for scalpers and swing traders who rely on HTF momentum shifts .
🔵 CONCLUSION
HTF TrendMap provides a clean, data-rich layer of higher timeframe context to any chart. With adaptive trend coloring, volatility mapping, and real-time data labeling, it enables traders to stay in sync with macro structure while executing on the micro.
nineLivesUtilLibLibrary "nineLivesUtilLib"
isDateInRange(currentTime, useTimeFilter, startDate, endDate)
Checks if the current time is within the specified date range.
Parameters:
currentTime (int) : The current bar's time (time).
useTimeFilter (bool) : Bool 📅: Enable the date range filter.
startDate (int) : Timestamp 📅: The start date for the filter.
endDate (int) : Timestamp 📅: The end date for the filter.
Returns: True if the current time is within the range or filtering is disabled, false otherwise.
@example
inDateRange = nineLivesUtilLib.isDateInRange(time, useTimeFilter, startDate, endDate)
if inDateRange
// Execute trading logic
checkVolumeCondition(currentVolume, useVolumeFilter, volumeThresholdMultiplier, volumeLength)
Checks if the current volume meets the threshold condition.
Parameters:
currentVolume (float) : The current bar's volume (volume).
useVolumeFilter (bool) : Bool 📊: Enable the volume filter.
volumeThresholdMultiplier (float) : Float 📊: Volume threshold relative to average (e.g., 1.5 for 1.5x average).
volumeLength (int) : Int 📊: Lookback length for the volume average.
Returns: True if the volume condition is met or filtering is disabled, false otherwise.
@example
volumeOk = nineLivesUtilLib.checkVolumeCondition(volume, useVolumeFilter, volumeThreshold, volumeLength)
if volumeOk
// Proceed with trading logic
checkMultiTimeframeCondition(currentClose, currentOpen, htfClose, htfOpen, useMultiTimeframe, alignment)
Checks alignment with higher timeframe direction.
Parameters:
currentClose (float) : Float: The current bar's closing price (close).
currentOpen (float) : Float: The current bar's opening price (open).
htfClose (float) : Float: The closing price from the higher timeframe (must be fetched by the calling script using request.security).
htfOpen (float) : Float: The opening price from the higher timeframe (must be fetched by the calling script using request.security).
useMultiTimeframe (bool) : Bool ⏱️: Enable multi-timeframe analysis.
alignment (string) : String ⏱️: Desired alignment ("same", "opposite", "any").
Returns: True if the timeframe alignment condition is met or analysis is disabled, false otherwise.
@example
// In the calling script:
= request.security(syminfo.tickerid, higherTimeframe, )
tfOk = nineLivesUtilLib.checkMultiTimeframeCondition(close, open, htfClose, htfOpen, useMultiTimeframe, tfAlignment)
if tfOk
// Proceed with trading logic
checkMarketRegime(useMarketRegime, regimeIndicator, regimeThreshold, regimeLength, regimeMode)
Detects the market regime (trending or ranging) and checks if trading is allowed.
Parameters:
useMarketRegime (bool) : Bool 🔍: Enable market regime detection.
regimeIndicator (string) : String 🔍: Indicator to use ("ADX" or "Volatility").
regimeThreshold (int) : Int 🔍: Threshold for trend strength/volatility.
regimeLength (simple int) : Int 🔍: Lookback length for the indicator.
regimeMode (string) : String 🔍: Trading mode based on regime ("trend_only", "range_only", "adaptive").
Returns: A tuple containing:
: conditionMet (bool) - True if trading is allowed based on the regime mode and detection, false otherwise.
: inTrendingRegime (bool) - True if the current regime is trending based on the indicator and threshold.
@example
= nineLivesUtilLib.checkMarketRegime(useMarketRegime, regimeIndicator, regimeThreshold, regimeLength, regimeMode)
if regimeOk
// Proceed with trading logic
applyCooldown(buySignal, sellSignal, cooldownBars)
Applies a cooldown period after a signal.
Parameters:
buySignal (bool) : Bool: Buy signal (potentially after primary entry logic).
sellSignal (bool) : Bool: Sell signal (potentially after primary entry logic).
cooldownBars (int) : Int ⏳: The number of bars to wait after a signal before allowing another.
Returns: A tuple containing:
: cooldownFilteredBuy (bool) - Buy signal after cooldown filter.
: cooldownFilteredSell (bool) - Sell signal after cooldown filter.
@example
= nineLivesUtilLib.applyCooldown(rawBuySignal, rawSellSignal, iCool)
applyAllFilters(rawBuy, rawSell, inDateRange, tradeDirection, volumeOk, tfOk, regimeOk, drawdownOk, cooldownOkBuy, cooldownOkSell)
Applies all filtering conditions to the buy and sell signals.
Parameters:
rawBuy (bool) : Bool: The initial buy signal candidate (from primary entry logic, e.g., after cooldown).
rawSell (bool) : Bool: The initial sell signal candidate (from primary entry logic, e.g., after cooldown).
inDateRange (bool) : Bool 📅: Result from isDateInRange.
tradeDirection (string) : String 🔄: Overall trade direction preference ("longs_only", "shorts_only", "both").
volumeOk (bool) : Bool 📊: Result from checkVolumeCondition.
tfOk (bool) : Bool ⏱️: Result from checkMultiTimeframeCondition.
regimeOk (bool) : Bool 🔍: Result from checkMarketRegime.
drawdownOk (bool) : Bool 📉: Result from checkDrawdownExceeded (or equivalent).
cooldownOkBuy (bool) : Bool ⏳: Result from applyCooldown for buy.
cooldownOkSell (bool) : Bool ⏳: Result from applyCooldown for sell.
Returns: A tuple containing:
: finalBuySignal (bool) - The final buy signal after all filters.
: finalSellSignal (bool) - The final sell signal after all filters.
@example
= nineLivesUtilLib.applyAllFilters(cooldownBuy, cooldownSell, inDateRange, tradeDirection, volumeOk, tfOk, regimeOk, !drawdownExceeded, cooldownBuy, cooldownSell)
NOTE: This function filters signals generated by your primary entry logic (e.g., EMA crossover).
checkDrawdownExceeded(currentEquity, useMaxDrawdown, maxDrawdownPercent)
Tracks maximum equity and checks if current drawdown exceeds a threshold.
Parameters:
currentEquity (float) : Float: The strategy's current equity (strategy.equity).
useMaxDrawdown (bool) : Bool 📉: Enable max drawdown protection.
maxDrawdownPercent (float) : Float 📉: The maximum allowed drawdown as a percentage.
Returns: True if drawdown protection is enabled and the current drawdown exceeds the threshold, false otherwise.
@example
drawdownExceeded = nineLivesUtilLib.checkDrawdownExceeded(strategy.equity, useMaxDrawdown, maxDrawdownPercent)
if drawdownExceeded
// Consider stopping entries or exiting positions in the strategy script
calculateExitPrice(positionAvgPrice, percentage, isStop, isLong)
Calculates a stop loss or take profit price based on a percentage from the average entry price.
Parameters:
positionAvgPrice (float) : Float: The average price of the current position (strategy.position_avg_price).
percentage (float) : Float: The stop loss or take profit percentage (e.g., 2.0 for 2%).
isStop (bool) : Bool: True if calculating a stop loss price, false if calculating a take profit price.
isLong (bool) : Bool: True if the position is long, false if short.
Returns: The calculated stop price or take profit price, or na if no position or percentage is invalid.
@example
longSL = nineLivesUtilLib.calculateExitPrice(strategy.position_avg_price, stopLossPercent, true, true)
shortTP = nineLivesUtilLib.calculateExitPrice(strategy.position_avg_price, takeProfitPercent, false, false)
calculateTrailingStopLevel(positionAvgPrice, trailOffsetPercent, trailPercent, currentHigh, currentLow, isLong)
Calculates the current trailing stop level for a position.
Parameters:
positionAvgPrice (float) : Float: The average price of the current position (strategy.position_avg_price).
trailOffsetPercent (float) : Float 🔄: The percentage price movement to activate the trailing stop.
trailPercent (float) : Float 🔄: The percentage distance the stop trails behind the price.
currentHigh (float) : Float: The current bar's high (high).
currentLow (float) : Float: The current bar's low (low).
isLong (bool) : Bool: True if the position is long, false if short.
Returns: The calculated trailing stop price if active, otherwise na.
@example
longTrailStop = nineLivesUtilLib.calculateTrailingStopLevel(strategy.position_avg_price, trailOffset, trailPercent, high, low, true)
shortTrailStop = nineLivesUtilLib.calculateTrailingStopLevel(strategy.position_avg_price, trailOffset, trailPercent, high, low, false)
if not na(longTrailStop)
strategy.exit("Long Trail", from_entry="Long", stop=longTrailStop)
Weekly Open Range [BigBeluga]
A precision weekly range tracker that captures early market positioning from the first moments of the trading week.
By dynamically measuring the highest and lowest points from the first three candles after the Sunday 21:00 UTC open, the indicator builds a reactive support and resistance framework for the week ahead.
It also visualizes the active range with a dynamic box and provides live updates of the current price movement against the established range boundaries.
🔵 KEY FEATURES
Automatically marks the weekly open range starting at Sunday 21:00 UTC .
Identify maximum high and minimum low from the first 3 candles after the weekly open.
if isWeeklyOpen or isWeeklyOpen or isWeeklyOpen or isWeeklyOpen
h = math.max(high, range_box.get_top())
l = math.min(low, range_box.get_bottom())
Draws two horizontal lines from the range extremes, acting as dynamic support/resistance zones throughout the week.
Visualizes the range with a semi-transparent box for clear zone identification.
Includes a compact dashboard panel with:
- Symbol and current price with bullish or bearish bar indication with ▲ / ▼
- Current weekly high/low range values
🔵 USAGE
Treat the high and low of the range as support/resistance zones for the week.
Combine with volume analysis or liquidity tools for entry confirmation .
Refresh your key levels every week as the indicator resets each Sunday night .
Works great alongside Smart Money Concepts (ICT) strategies and weekly planning.
Weekly Open Range gives traders a reliable structure to anchor their week. With clear range mapping, breakout signals, and intuitive visuals, it becomes a valuable part of any strategic trading approach—especially when precision timing around liquidity zones is key.
Weekday Colors with Time Highlighting by NabojeetThis script is a Pine Script (version 6) indicator called "Weekday Colors with Time Highlighting" designed for TradingView charts. It has several key functions:
1. **Weekday Color Coding**:
- Assigns different background colors to each trading day (Monday through Friday)
- Allows users to customize the color for each day
- Includes toggles to enable/disable colors for specific days
2. **Time Range Highlighting**:
- Highlights a specific time period (e.g., 18:15-18:30) on every trading day
- Uses a custom color that can be adjusted by the user
- The time range is specified in HHMM-HHMM format
3. **High/Low Line Drawing**:
- Automatically identifies the highest high and lowest low points within the specified time range
- Draws horizontal lines at these levels when the time period ends
- Lines extend forward in time to serve as support/resistance references
- Users can customize the line color, width, and style (solid, dotted, or dashed)
The script is organized into logical sections with input parameters grouped by function (Weekday Colors, Weekday Display, Time Highlighting, and Horizontal Lines). Each section's inputs are customizable through the indicator settings panel.
This indicator would be particularly useful for traders who:
- Want visual distinction between different trading days
- Focus on specific time periods each day (like market opens, closes, or specific sessions)
- Use intraday support/resistance levels from key time periods
- Want to quickly identify session highs and lows
The implementation resets tracking variables at the beginning of each new time range and draws the lines once the time period ends, ensuring accurate high/low marking for each day's specified time window.
Author - Nabojeet
RSI Candlestick Oscillator [LuxAlgo]The RSI Candlestick Oscillator displays a traditional Relative Strength Index (RSI) as candlesticks. This indicator references OHLC data to locate each candlestick point relative to the current RSI Value, leading to a more accurate representation of the Open, High, Low, and Close price of each candlestick in the context of RSI.
In addition to the candlestick display, Divergences are detected from the RSI candlestick highs and lows and can be displayed over price on the chart.
🔶 USAGE
Translating candlesticks into the RSI oscillator is not a new concept and has been attempted many times before. This indicator stands out because of the specific method used to determine the candlestick OHLC values. When compared to other RSI Candlestick indicators, you will find that this indicator clearly and definitively correlates better to the on-chart price action.
Traditionally, the RSI indicator is simply one running value based on (typically) the close price of the chart. By introducing high, low, and open values into the oscillator, we can better gauge the specific price action throughout the intrabar movements.
Interactions with the RSI levels can now take multiple forms, whether it be a full-bodied breakthrough or simply a wick test. Both can provide a new analysis of price action alongside RSI.
An example of wick interactions and full-bodied interactions can be seen below.
As a result of the candlestick display, divergences become simpler to spot. Since the candlesticks on the RSI closely resemble the candlesticks on the chart, when looking for divergence between the chart and RSI, it is more obvious when the RSI and price are diverging.
The divergences in this indicator not only show on the RSI oscillator, but also overlay on the price chart for clearer understanding.
🔹 Filtering Divergence
With the candlesticks generating high and low RSI values, we can better sense divergences from price, since these points are generally going to be more dramatic than the (close) RSI value.
This indicator displays each type of divergence:
Bullish Divergence
Bearish Divergence
Hidden Bullish Divergence
Hidden Bearish Divergence
From these, we get many less-than-useful indications, since every single divergence from price is not necessarily of great importance.
The Divergence Filter disregards any divergence detected that does not extend outside the RSI upper or lower values.
This does not replace good judgment, but this filter can be helpful in focusing attention towards the extremes of RSI for potential reversal spotting from divergence.
🔶 DETAILS
In order to get the desired results for a display that resembles price action while following RSI, we must scale. The scaling is the most important part of this indicator.
To summarize the process:
Identify a range on Price and RSI
Consider them as equal to create a scaling factor
Use the scaling factor to locate RSI's "Price equivalent" Upper, Lower, & Mid on the Chart
Use those prices (specifically the RSI Mid) to check how far each OHLC value lies from it
Use those differences to translate the price back to the RSI Oscillator, pinning the OHLC values at their relative location to our anchor (RSI Mid)
🔹 RSI Channel
To better understand, and for your convenience, the indicator includes the option to display the RSI Channel on the chart. This channel helps to visualize where the scaled RSI values are relative to price.
If you analyze the RSI channel, you are likely to notice that the price movement throughout the channel matches the same movement witnessed in the RSI Oscillator below. This makes sense since they are the exact same thing displayed on different scales.
🔹 Scaling the Open
While the scaling method used is important, and provides a very close view of the real price bar's relative locations on the RSI oscillator… It is designed for a single purpose.
The scaling does NOT make the price candles display perfectly on the RSI oscillator.
The largest place where this is noticeable is with the opening of each candle.
For this reason, we have included a setting that modifies the opening of each RSI candle to be more accurate to the chart's price candles.
This setting positions the current bar's opening RSI candlestick value accurately relative to the price's open location to the previous closing price. As seen below.
🔶 SETTINGS
🔹 RSI Candles
RSI Length: Sets the Length for the RSI Oscillator.
Overbought/Oversold Levels: Sets the Overbought and Oversold levels for the RSI Oscillator.
Scale Open for Chart Accuracy: As described above, scales the open of each candlestick bar to more accurately portray the chart candlesticks.
🔹 Divergence
Show on Chart: Choose to display divergence line on the chart as well as on the Oscillator.
Divergence Length: Sets the pivot width for divergence detection. Normal Fractal Pivot Detection is used.
Divergence Style: Change color and line style for Regular and Hidden divergences, as well as toggle their display.
Divergence Filter: As described above, toggle on or off divergence filtering.
🔹 RSI Channel
Toggle: Display RSI Channel on Chart.
Color: Change RSI Channel Color
Easy MA SignalsEasy MA Signals
Overview
Easy MA Signals is a versatile Pine Script indicator designed to help traders visualize moving average (MA) trends, generate buy/sell signals based on crossovers or custom price levels, and enhance chart analysis with volume-based candlestick coloring. Built with flexibility in mind, it supports multiple MA types, crossover options, and customizable signal appearances, making it suitable for traders of all levels. Whether you're a day trader, swing trader, or long-term investor, this indicator provides actionable insights while keeping your charts clean and intuitive.
Configure the Settings
The indicator is divided into three input groups for ease of use:
General Settings:
Candlestick Color Scheme: Choose from 10 volume-based color schemes (e.g., Sapphire Pulse, Emerald Spark) to highlight high/low volume candles. Select “None” for TradingView’s default colors.
Moving Average Length: Set the MA period (default: 20). Adjust for faster (lower values) or slower (higher values) signals.
Moving Average Type: Choose between SMA, EMA, or WMA (default: EMA).
Show Buy/Sell Signals: Enable/disable signal plotting (default: enabled).
Moving Average Crossover: Select a crossover type (e.g., MA vs VWAP, MA vs SMA50) for signals or “None” to disable.
Volume Influence: Adjust how volume impacts candlestick colors (default: 1.2). Higher values make thresholds stricter.
Signal Appearance Settings:
Buy/Sell Signal Shape: Choose shapes like triangles, arrows, or labels for signals.
Buy/Sell Signal Position: Place signals above or below bars.
Buy/Sell Signal Color: Customize colors for better visibility (default: green for buy, red for sell).
Custom Price Alerts:
Custom Buy/Sell Alert Price: Set specific price levels for alerts (default: 0, disabled). Enter a non-zero value to enable.
Set Up Alerts
To receive notifications (e.g., sound, popup, email) when signals or custom price levels are hit:
Click the Alert button (alarm clock icon) in TradingView.
Select Easy MA Signals as the condition and choose one of the four alert types:
MA Crossover Buy Alert: Triggers on MA crossover buy signals.
MA Crossover Sell Alert: Triggers on MA crossover sell signals.
Custom Buy Alert: Triggers when price crosses above the custom buy price.
Custom Sell Alert: Triggers when price crosses below the custom sell price.
Enable Play Sound and select a sound (e.g., “Bell”).
Set the frequency (e.g., Once Per Bar Close for confirmed signals) and create the alert.
Analyze the Chart
Moving Average Line: Displays the selected MA with color changes (green for bullish, red for bearish, gray for neutral) based on price position relative to the MA.
Buy/Sell Signals: Appear as shapes or labels when crossovers or custom price levels are hit.
Candlestick Colors: If a color scheme is selected, candles change color based on volume strength (high, low, or neutral), aiding in trend confirmation.
Why Use Easy MA Signals?
Easy MA Signals is designed to simplify technical analysis while offering advanced customization. It’s ideal for traders who want:
A clear visualization of MA trends and crossovers.
Flexible signal generation based on MA crossovers or custom price levels.
Volume-enhanced candlestick coloring to identify market strength.
Easy-to-use settings with tooltips for beginners and pros alike.
This script is particularly valuable because it combines multiple features into one indicator, reducing chart clutter and providing actionable insights without overwhelming the user.
Benefits of Easy MA Signals
Highly Customizable: Supports SMA, EMA, and WMA with adjustable lengths.
Offers multiple crossover options (VWAP, SMA10, SMA20, etc.) for tailored strategies.
Custom price alerts allow precise targeting of key levels.
Volume-Based Candlestick Coloring: 10 unique color schemes highlight volume strength, helping traders confirm trends.
Adjustable volume influence ensures adaptability to different markets.
Flexible Signal Visualization: Choose from various signal shapes (triangles, arrows, labels) and positions (above/below bars).
Customizable colors improve visibility on any chart background.
Alert Integration: Built-in alert conditions for crossovers and custom prices support sound, email, and app notifications.
Easy setup for real-time trading decisions.
User-Friendly Design: Organized input groups with clear tooltips make configuration intuitive.
Suitable for beginners and advanced traders alike.
Example Use Cases
Swing Trading with MA Crossovers:
Scenario: A trader wants to trade Bitcoin (BTC/USD) on a 4-hour chart using an EMA crossover strategy.
Setup:
Set Moving Average Type to EMA, Length to 20.
Set Moving Average Crossover to “MA vs SMA50”.
Enable Show Buy/Sell Signals and choose “arrowup” for buy, “arrowdown” for sell.
Select “Emerald Spark” for candlestick colors to highlight volume surges.
Usage: Buy when the EMA20 crosses above the SMA50 (green arrow appears) and volume is high (dark green candles). Sell when the EMA20 crosses below the SMA50 (red arrow). Set alerts for real-time notifications.
Scalping with Custom Price Alerts:
Scenario: A day trader monitors Tesla (TSLA) on a 5-minute chart and wants alerts at specific support/resistance levels.
Setup:
Set Custom Buy Alert Price to 150.00 (support) and Custom Sell Alert Price to 160.00 (resistance).
Use “labelup” for buy signals and “labeldown” for sell signals.
Keep Moving Average Crossover as “None” to focus on price alerts.
Usage: Receive a sound alert and label when TSLA crosses 150.00 (buy) or 160.00 (sell). Use volume-colored candles to confirm momentum before entering trades.
When NOT to Use Easy MA Signals
High-Frequency Trading: Reason: The indicator relies on moving averages and volume, which may lag in ultra-fast markets (e.g., sub-second trades). High-frequency traders may need specialized tools with real-time tick data.
Alternative: Use order book or market depth indicators for faster execution.
Low-Volatility or Sideways Markets:
Reason: MA crossovers and custom price alerts can generate false signals in choppy, range-bound markets, leading to whipsaws.
Alternative: Use oscillators like RSI or Bollinger Bands to trade within ranges.
This indicator is tailored more towards less experienced traders. And as always, paper trade until you are comfortable with how this works if you're unfamiliar with trading! We hope you enjoy this and have great success. Thanks for your interested in Easy MA Signals!
ICT Turtle Soup (Liquidity Reversal)ICT Turtle Soup — Liquidity Reversal Detection
Trap the Trap: A Precision Reversal Strategy from the Inner Circle Trader Playbook
This indicator implements the Turtle Soup liquidity reversal setup — a widely used ICT (Inner Circle Trader) concept that targets false breakouts beyond recent swing highs or lows. These patterns typically occur when price grabs liquidity above or below a known level, then snaps back, trapping retail traders and creating a high-probability reversal scenario.
🔍 What This Script Does:
Detects Liquidity Sweeps Above/Below Key Swing Levels
Uses a customizable swing lookback to identify recent swing highs and lows.
Triggers a Bearish Turtle Soup when price runs above a previous swing high and closes back below.
Triggers a Bullish Turtle Soup when price sweeps below a prior swing low and closes back above.
Plots Clear Visual Signals
Reversal signals appear as 🐢🔻 (Bearish) or 🐢🔺 (Bullish) markers directly on your chart.
Optional labels can be enabled for enhanced journaling and review.
Real-Time Alerts
Receive alert notifications when a Turtle Soup setup is detected — ideal for scalpers or intraday traders watching for reversals around liquidity pools.
⚙️ Customization Options:
Set the swing lookback sensitivity (default: 5)
Enable or disable labels
Choose label font size
Customize colors for bullish and bearish signals
💡 How to Use:
Deploy on intraday timeframes (e.g. 5m–15m) for high-resolution liquidity analysis.
Watch for signals at key highs/lows, session extremes, or zones where liquidity is likely resting.
Combine with tools like FVGs, Order Blocks, and OTE zones for layered confirmation.
🔗 Combine With These Tools for a Complete SMC Edge:
✅ First FVG — Opening Range Fair Value Gap Detector
✅ ICT SMC Liquidity Grabs + OB + Fibonacci OTE Levels
✅ Liquidity Levels — Smart Swing Lows
Together, these tools form a high-precision Smart Money toolkit — helping traders map, anticipate, and act on institutional-level liquidity events with clarity and confidence.
Math by Thomas FVG📌 Math by Thomas FVG – Fair Value Gap Detector
Overview:
The Math by Thomas FVG indicator automatically detects Fair Value Gaps (FVGs) using a three-candle logic. FVGs represent price inefficiencies where the first candle’s high/low does not overlap with the third candle’s low/high, creating a gap. This tool helps traders identify potential reversal or continuation zones, providing valuable insights into market structure and price action.
🔹 How It Works:
Bullish FVG:
Occurs when the current candle’s low is above the high of the candle two bars ago.
A green-shaded box marks the bullish FVG, highlighting a potential support zone.
Bearish FVG:
Occurs when the current candle’s high is below the low of the candle two bars ago.
A red-shaded box marks the bearish FVG, indicating a potential resistance zone.
Gap Filling Logic:
The indicator automatically removes FVGs once they are filled by price action, keeping the chart clean and relevant.
Bullish FVGs are removed when close ≤ the box's top.
Bearish FVGs are removed when close ≥ the box's bottom.
⚙️ Customization Options:
Bullish FVG Color: Choose the color for bullish FVGs.
Bearish FVG Color: Choose the color for bearish FVGs.
Max Box Count: The indicator dynamically manages up to 50 FVG boxes, ensuring optimal chart performance.
✅ Use Cases:
Identify price inefficiencies for potential entries and exits.
Combine with Order Blocks, support/resistance, or volume analysis for confirmation.
Useful for Smart Money Concept (SMC) and price action traders.
🔥 Enhance your trading accuracy with the Math by Thomas FVG indicator and gain insights into price inefficiencies! 🚀
Trendline Breakout Navigator [LuxAlgo]The Trendline Breakout Navigator indicator shows three trendlines, representing trends of different significance between Swing Points.
Dots highlight a Higher Low (HL) or Lower High (LH) that pierces through the Trendline without the closing price breaking the Trendline.
A bar color and background color option is included, which offers insights into the price against the trendlines.
🔶 USAGE
Trendlines (TL) are drawn, starting as a horizontal line from a Swing Point.
When an HL (in the case of a bullish TL) or an LH (bearish TL) is found, this Swing Point is connected to the first Swing Point. In both cases, the TL can be optimized when one or more historical close prices breach the TL (see DETAILS).
A solid-styled long-term trendline represents the overall market direction, while a dashed-styled medium-term trendline captures medium-term movements within the long-term trend. Finally, a dotted-styled short-term trendline tracks short-term fluctuations.
🔹 Swing Points vs. Trend
A "Higher High" (HH) or "Lower Low" (LL) will initialize a new trendline, respectively, starting from the previous "Swing Low" or Swing High".
To spot the trend shift, "HH/LL" labels and an optional background color are included. They can be enabled/disabled or set at "Long, Medium, or Short" term TL (Settings—"MS", "HH/LL" and "Background Color").
These features are linked to one Trendline of choice only.
Where the "HH/LL" labels can show a potential trend shift, the background color is:
Green from the moment the close price breaks above a bearish trendline or when an HH occurs
Red from the moment the close price breaks below a bullish trendline or when an LL occurs
🔹 Bar Color
The bar color will depend on the location of the closing price against the three trendlines. When a trendline is unavailable (for example, if the close price breaks the TL and there is no HH/LL), the last known trendline value will be considered.
All three trendlines influence the bar color.
If the close price is above the "Long Term" TL, the bar color will show a gradient of green, darker when the close price is below the "Medium Term" and/or "Short Term" TLs.
On the other hand, when the close price is below the "Long Term" TL, the bar color will show a gradient of red, which becomes darker when the close price is above the "Medium Term" and/or "Short Term" TLs.
To keep the above example simple, only the "Long Term" TL is considered. The white line (not included in the script) resembles the actual value of the TL at each bar, where you can see the effect on the bar color.
Combined with the trendlines and dots, the bar color can provide extra depth and insights into the underlying trends.
🔹 Tested Trendlines
If a new HL/LH pierces the Trendline without the close price breaking the Trendline, the Trendline will be updated.
The exact location where the price exceeded the Trendline is visualized by a dot, colored blue on a bullish trendline and orange when bearish.
These dots can be indicative of a potential trend continuation or reversal.
🔹 Higher TimeFrame Option
The "Period" setting enables users to visualize higher-timeframe trendlines as long as the line length doesn't exceed 5000 bars.
🔶 DETAILS
When a new trendline is drawn, the script first draws a preliminary line and then checks whether a historical close price exceeded this line above (in the case of a bearish TL) or below (in a bullish case).
Subsequently, the most valid point in between is chosen as the starting point of the Trendline.
🔶 SETTINGS
Period: Choose "chart" for trendlines from the current chart timeframe, or choose a higher timeframe
🔹 Swing Length
Toggle and Swing Length for three trendlines: Period used for the swing detection, with higher values returning longer-term Swing Levels.
🔹 Style
Trendline: color for bullish/bearish Trendline
Wick Dot: color for bullish/bearish trendline test
Term: Long-, medium- or short-term
HH/LL: Show HH/LL labels (with or without previous Swing High/Low) of chosen Term
Background Color: Green when the closing price is above the trendline of choice, red otherwise
Bar Color